using System;
using System.ComponentModel.DataAnnotations;

namespace SmartHealthcare.Read.Api.DTo
{
    /// <summary>
    /// 支付记录DTO - 用于展示患者住院期间的费用支付明细
    /// </summary>
    public class PaymentRecordDto
    {
        /// <summary>
        /// 记录ID
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 住院登记ID
        /// </summary>
        public long InpatientRegistryId { get; set; }

        /// <summary>
        /// 病人卡号
        /// </summary>
        public string MedicalCard { get; set; }

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string PatientName { get; set; }

        /// <summary>
        /// 科室名称
        /// </summary>
        public string DepartmentName { get; set; }

        /// <summary>
        /// 支付时间
        /// </summary>
        public DateTime PaymentTime { get; set; }

        /// <summary>
        /// 支付金额（正数为缴费，负数为退款）
        /// </summary>
        public decimal Amount { get; set; }

        /// <summary>
        /// 支付方式（现金/银行卡/移动支付）
        /// </summary>
        public string PaymentMethod { get; set; }

        /// <summary>
        /// 支付类型（押金缴纳/费用结算/退款）
        /// </summary>
        public string PaymentType { get; set; }

        /// <summary>
        /// 交易凭证号（第三方支付凭证）
        /// </summary>
        public string TransactionNumber { get; set; }

        /// <summary>
        /// 操作人员
        /// </summary>
        public string OperatorName { get; set; }

        /// <summary>
        /// 备注说明
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 电子凭证URL（存储支付凭证或退款审批单的文件路径）
        /// </summary>
        public string ReceiptUrl { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建用户
        /// </summary>
        public string CreateUser { get; set; }
    }
} 